package org.nkumar.stl;

/**
 * A Predicate represents a method whose result represents the truth or falsehood
 * of some condition when applied on an object.
 * @author Nishant Kumar
 */
public interface Predicate<T>
{
    /**
     * Returns <code>true</code> if the object passed to this method satisfies the
     * condition that this method embodies.
     * @param t The object on which the condition will be applied.
     * @return <code>true,</code> if the object satisfies the condition.
     */
    @SuppressWarnings({"BooleanMethodNameMustStartWithQuestion"})
    public boolean test(T t);
}
